--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Utilities.cpp acf945e1a8db72abb042aeedf5aa8d539785af1f (acf945e1) Text, 4.14 KB
Tff7b72#Tff7b72include T8b949e<Arduino.h>
Tff7b72#Tff7b72include T8b949e<LoRa.h>
Tff7b72#Tff7b72include T8b949e"Config.h"
Tff7b72#Tff7b72include T8b949e"Framing.h"
Tffa657void Td2a8ffled_rx_onTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_rxTb4b4b4, Te6edf3HIGHTb4b4b4)Tb4b4b4; Tb4b4b4}
Tffa657void Td2a8ffled_rx_offTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_rxTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4; Tb4b4b4}
Tffa657void Td2a8ffled_tx_onTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_txTb4b4b4, Te6edf3HIGHTb4b4b4)Tb4b4b4; Tb4b4b4}
Tffa657void Td2a8ffled_tx_offTb4b4b4(Tb4b4b4) Tb4b4b4{ Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_txTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4; Tb4b4b4}
Tffa657void Td2a8ffled_indicate_errorTb4b4b4(Tffa657int Te6edf3cyclesTb4b4b4) Tb4b4b4{
Tffa657bool Te6edf3forever Tff7b72= Tb4b4b4(Te6edf3cycles Tff7b72=Tff7b72= T79c0ff0Tb4b4b4) Tff7b72? Tffa657true Tff7b72: Tffa657falseTb4b4b4;
Te6edf3cycles Tff7b72= Te6edf3forever Tff7b72? T79c0ff1 Tff7b72: Te6edf3cyclesTb4b4b4;
Tff7b72whileTb4b4b4(Te6edf3cycles Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_rxTb4b4b4, Te6edf3HIGHTb4b4b4)Tb4b4b4;
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_txTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4;
Te6edf3delayTb4b4b4(T79c0ff100Tb4b4b4)Tb4b4b4;
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_rxTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4;
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_txTb4b4b4, Te6edf3HIGHTb4b4b4)Tb4b4b4;
Te6edf3delayTb4b4b4(T79c0ff100Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3foreverTb4b4b4) Te6edf3cyclesTff7b72-Tff7b72-Tb4b4b4;
Tb4b4b4}
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_rxTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4;
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_txTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffled_indicate_warningTb4b4b4(Tffa657int Te6edf3cyclesTb4b4b4) Tb4b4b4{
Tffa657bool Te6edf3forever Tff7b72= Tb4b4b4(Te6edf3cycles Tff7b72=Tff7b72= T79c0ff0Tb4b4b4) Tff7b72? Tffa657true Tff7b72: Tffa657falseTb4b4b4;
Te6edf3cycles Tff7b72= Te6edf3forever Tff7b72? T79c0ff1 Tff7b72: Te6edf3cyclesTb4b4b4;
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_txTb4b4b4, Te6edf3HIGHTb4b4b4)Tb4b4b4;
Tff7b72whileTb4b4b4(Te6edf3cycles Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_txTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4;
Te6edf3delayTb4b4b4(T79c0ff100Tb4b4b4)Tb4b4b4;
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_txTb4b4b4, Te6edf3HIGHTb4b4b4)Tb4b4b4;
Te6edf3delayTb4b4b4(T79c0ff100Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3foreverTb4b4b4) Te6edf3cyclesTff7b72-Tff7b72-Tb4b4b4;
Tb4b4b4}
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_txTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffled_indicate_infoTb4b4b4(Tffa657int Te6edf3cyclesTb4b4b4) Tb4b4b4{
Tffa657bool Te6edf3forever Tff7b72= Tb4b4b4(Te6edf3cycles Tff7b72=Tff7b72= T79c0ff0Tb4b4b4) Tff7b72? Tffa657true Tff7b72: Tffa657falseTb4b4b4;
Te6edf3cycles Tff7b72= Te6edf3forever Tff7b72? T79c0ff1 Tff7b72: Te6edf3cyclesTb4b4b4;
Tff7b72whileTb4b4b4(Te6edf3cycles Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_rxTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4;
Te6edf3delayTb4b4b4(T79c0ff100Tb4b4b4)Tb4b4b4;
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_rxTb4b4b4, Te6edf3HIGHTb4b4b4)Tb4b4b4;
Te6edf3delayTb4b4b4(T79c0ff100Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3foreverTb4b4b4) Te6edf3cyclesTff7b72-Tff7b72-Tb4b4b4;
Tb4b4b4}
Te6edf3digitalWriteTb4b4b4(Te6edf3pin_led_rxTb4b4b4, Te6edf3LOWTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_errorTb4b4b4(Tffa657uint8_t Te6edf3error_codeTb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_ERRORTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3error_codeTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_radiostateTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_RADIO_STATETb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3radio_onlineTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_stat_rxTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_STAT_RXTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3stat_rxTff7b72>Tff7b72>T79c0ff24Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3stat_rxTff7b72>Tff7b72>T79c0ff16Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3stat_rxTff7b72>Tff7b72>T79c0ff8Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3stat_rxTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_stat_txTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_STAT_TXTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3stat_txTff7b72>Tff7b72>T79c0ff24Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3stat_txTff7b72>Tff7b72>T79c0ff16Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3stat_txTff7b72>Tff7b72>T79c0ff8Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3stat_txTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_stat_rssiTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_STAT_RSSITb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Tb4b4b4(Tffa657uint8_tTb4b4b4)Te6edf3last_rssiTff7b72+Te6edf3rssi_offsetTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_radio_lockTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_RADIO_LOCKTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3radio_lockedTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_spreadingfactorTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_SFTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Tb4b4b4(Tffa657uint8_tTb4b4b4)Te6edf3lora_sfTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_txpowerTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_TXPOWERTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Tb4b4b4(Tffa657uint8_tTb4b4b4)Te6edf3lora_txpTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_bandwidthTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_BANDWIDTHTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3lora_bwTff7b72>Tff7b72>T79c0ff24Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3lora_bwTff7b72>Tff7b72>T79c0ff16Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3lora_bwTff7b72>Tff7b72>T79c0ff8Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3lora_bwTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_frequencyTb4b4b4(Tb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_FREQUENCYTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3lora_freqTff7b72>Tff7b72>T79c0ff24Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3lora_freqTff7b72>Tff7b72>T79c0ff16Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3lora_freqTff7b72>Tff7b72>T79c0ff8Tb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3lora_freqTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffkiss_indicate_randomTb4b4b4(Tffa657uint8_t Te6edf3byteTb4b4b4) Tb4b4b4{
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3CMD_RANDOMTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3byteTb4b4b4)Tb4b4b4;
Te6edf3SerialTb4b4b4.Te6edf3writeTb4b4b4(Te6edf3FENDTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657bool Td2a8ffisSplitPacketTb4b4b4(Tffa657uint8_t Te6edf3headerTb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3header Tff7b72& Te6edf3FLAG_SPLITTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657uint8_t Td2a8ffpacketSequenceTb4b4b4(Tffa657uint8_t Te6edf3headerTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3header Tff7b72>Tff7b72> T79c0ff4Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffgetPacketDataTb4b4b4(Tffa657int Te6edf3lenTb4b4b4) Tb4b4b4{
Tff7b72while Tb4b4b4(Te6edf3lenTff7b72-Tff7b72-Tb4b4b4) Tb4b4b4{
Te6edf3pbufTb4b4b4[Te6edf3read_lenTff7b72+Tff7b72+Tb4b4b4] Tff7b72= Te6edf3LoRaTb4b4b4.Te6edf3readTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657void Td2a8ffsetSpreadingFactorTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3radio_onlineTb4b4b4) Te6edf3LoRaTb4b4b4.Te6edf3setSpreadingFactorTb4b4b4(Te6edf3lora_sfTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffsetTXPowerTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3radio_onlineTb4b4b4) Te6edf3LoRaTb4b4b4.Te6edf3setTxPowerTb4b4b4(Te6edf3lora_txpTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tffa657void Td2a8ffgetBandwidthTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3radio_onlineTb4b4b4) Tb4b4b4{
Te6edf3lora_bw Tff7b72= Te6edf3LoRaTb4b4b4.Te6edf3getSignalBandwidthTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657void Td2a8ffsetBandwidthTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3radio_onlineTb4b4b4) Tb4b4b4{
Te6edf3LoRaTb4b4b4.Te6edf3setSignalBandwidthTb4b4b4(Te6edf3lora_bwTb4b4b4)Tb4b4b4;
Te6edf3getBandwidthTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657void Td2a8ffgetFrequencyTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3radio_onlineTb4b4b4) Tb4b4b4{
Te6edf3lora_freq Tff7b72= Te6edf3LoRaTb4b4b4.Te6edf3getFrequencyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657void Td2a8ffsetFrequencyTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3radio_onlineTb4b4b4) Tb4b4b4{
Te6edf3LoRaTb4b4b4.Te6edf3setFrequencyTb4b4b4(Te6edf3lora_freqTb4b4b4)Tb4b4b4;
Te6edf3getFrequencyTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tffa657uint8_t Td2a8ffgetRandomTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3radio_onlineTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3LoRaTb4b4b4.Te6edf3randomTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72return T79c0ff0x00Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────